import express from "express";
import { getUserIdByToken } from "../service/tokenService";

const app = express();

app.use(express.json());

// 中间件：请求拦截器
app.use(async (req, res, next) => {
  // 打印日志
  console.log(`收到请求：${req.method} ${req.originalUrl}`);

  // 可以在这里对每个请求进行处理，比如 token 校验
  const token = req.headers["authorization"];
  if (!token) {
    return res.status(401).json({ message: "Token缺失" });
  }

  // 校验 token（你可以替换成实际的验证逻辑）
  const userId = await getUserIdByToken(token);
  if (!userId) {
    return res.status(401).json({ message: "Token无效" });
  }

  // 将用户 ID 存到请求对象中，方便后续处理
  req.userId = userId;

  // 继续处理请求
  next();
});

app.listen(process.env.SERVER_PORT, () => {
  console.log(`Server listening on port ${process.env.SERVER_PORT}`);
});

export default app;
